package com.example.boos.context;



import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

public class ParameterizedTypeImp implements ParameterizedType {
    // 假如是一个 List<User>    raw : List.class   args : User.class
    // 如果是一个 Map<String,User>  raw : Map.class args : [String.class,User.class]
    private final Class raw;
    private final Type[] args;
    public ParameterizedTypeImp(Class raw, Type[] args) {
        this.raw = raw;
        this.args = args != null ? args : new Type[0];
    }

    @Override
    public Type[] getActualTypeArguments() {
        return args;
    }
    @Override
    public Type getRawType() {
        return raw;
    }
    @Override
    public Type getOwnerType() {return null;}
}
